package com.ygj.inspection.service;

import java.util.List;

import com.base.common.persistent.model.InspectionCategories;
import com.base.common.persistent.model.InspectionProject;

public interface InspectionService {

	/**
	 * 获取巡查项目
	 * 
	 * @param inspectionCategories
	 * @param inspectionPointCode
	 * @param compoundId
	 * @return
	 */
	List<InspectionProject> getInspectionProject(
			int flag, int inspectionCategories, String inspectionPointCode);

	/**
	 * 
	 * 提交巡查工单<br>
	 * 2015年9月29日下午10:45:55 增加字段compoundsId(小区id)和coordinates(经纬度)
	 * 
	 * @param employeeId
	 * @param inspectionProjectsStatusList
	 * @param compoundsId
	 * @param coordinates
	 * @return
	 */
	int subInspectionTicket(int employeeId,
							List<String> inspectionProjectsStatusList, String coordinates,
							int compoundsId);

	/**
	 * 获取所有巡查类别
	 * 
	 * @return
	 */
	List<InspectionCategories> getAllInspectionCategories();

	/**
	 * 根据巡查点编码获取巡查点名称
	 * 
	 * @param code
	 * @param flag
	 * @return
	 */
	Object getInspectionPointNameByCode(String code, int flag);

	/**
	 * 获取巡查工单数量根据巡查点分组并根据日期查询
	 * 
	 * @param compoundsId
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	Object getInspectionTicketCountsGroupByPointByDate(int compoundsId, String startTime, String endTime);

	/**
	 * 获取巡查工单列表根据巡查点并根据日期，小区过滤查询
	 * 
	 * @param compoundsId
	 * @param startTime
	 * @param endTime
	 * @param hour
	 * @param inspectionID
	 * @return
	 */
	Object getInspectionTicketListGroupByPointByDateTime(int compoundsId, String startTime, String endTime,
														 int hour, int inspectionID);


	List<InspectionCategories> getInspectionCategoriesByPoint(int inspectionPointId);
}
